# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/25 16:38 
@Author  : ZhangShenao 
@File    : raise_except.py 
@Desc    : 使用raise关键字显式抛出异常
"""


def stage_of_life(age) -> str:
    """
    使用raise关键字显式抛出异常
    """

    # 校验函数的入参,如果入参非法,则直接抛出异常
    if age < 0 or age > 150:
        raise ValueError('年龄的取值不符合实际，需要在 0 到 150 之间')

    if age <= 6:
        return '童年'
    elif 7 <= age <= 17:
        return '少年'
    elif 18 <= age <= 40:
        return '青年'
    elif 41 <= age <= 65:
        return '中年'
    else:
        return '老年'

# stage = stage_of_life(200)  # ValueError: 年龄的取值不符合实际，需要在 0 到 150 之间
# print(stage)
